Texture mapping refers to adding a detail, a surface texture, a color, and the like features to a computer-generated graphic or 3D model. A texture map may be applied to the surface of a shape, or polygon. This process may be akin to applying patterned paper to a plain white box.
FIG. 1 illustrates a transformation of a rectangular window 105 displayed on a screen 101 into an arbitrary shape window 107 displayed on screen 102 as the window minimizes to a docking bar. As shown in FIG. 1, a rectangular child window 106, which is related to window 105, may be displayed on a screen 101. Child window 106 may be, e.g., a sheet that appears on a “save” panel, a drawer, a menu, and the like. Window 105 may have a shadow 104. A docking bar (“dock”) 103 may be displayed on screen 101. The dock, as in Mac® Operating System produced by Apple Inc., located in Cupertino, Calif., may be used to display frequently used applications, applications that are currently executed by the processor of the data processing system, or both.
As shown in FIG. 1, window 105 is transformed to window 107 having an arbitrary shape as it slides into a dock 108 on a screen 102. As shown in FIG. 1, the child window is hidden when parent window 107 arbitrarily transforms its shape. That is, the child window may not mimic the shape and motion of the parent window, as the parent window arbitrarily transforms its shape. As shown in FIG. 1, shadow 104 disappears when window 107 arbitrarily transforms its shape.
Window decorations, such as drop shadows (e.g., shadow 104) may be generated in a window server apart from window content generation. If a window transforms its shape, a shadow bitmap may be re-regenerated based on the transformed shape. This is a very expensive operation, and is impractical in situations where the shape of a window changes with every screen refresh, such as during Genie™ effect or Expose™ animation, as in Mac OS X® Operating System produced by Apple, Inc., located in Cupertino, Calif. Creating new shadows each frame may quickly exhaust the server's shadow bitmap cache, leading to more slow-downs.